export function range(start: number, end: number, step: number = 1): number[] {
    /**
     * 模仿Python的range函数
    */
    let result: number[] = [];
    for (let i = start; i < end; i += step) {
        result.push(i);
    }
    return result;
}

export function choice<T>(arr: T[]): T | null {  
    // 检查数组是否为空  
    if (arr.length === 0) {  
        // return null; // 或者可以抛出一个错误，取决于你的需求  
        throw new Error('传入的数组不能为空');
    }  
  
    // 生成一个随机索引  
    const randomIndex = Math.floor(Math.random() * arr.length);  
  
    // 返回随机索引对应的元素  
    return arr[randomIndex];  
} 


export function randInt(min: number, max: number): number {
    if (min > max) {
        throw new Error("min值不能大于max值");
    }
    return Math.floor(Math.random() * (max - min + 1)) + min;
}